home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / asm / kdebug.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  1KB  |  51 lines

  1. #ifndef _I386_KDEBUG_H
  2. #define _I386_KDEBUG_H 1
  3.  
  4. /*
  5.  * Aug-05 2004 Ported by Prasanna S Panchamukhi <prasanna@in.ibm.com>
  6.  * from x86_64 architecture.
  7.  */
  8. #include <linux/notifier.h>
  9.  
  10. struct pt_regs;
  11.  
  12. struct die_args {
  13.     struct pt_regs *regs;
  14.     const char *str;
  15.     long err;
  16.     int trapnr;
  17.     int signr;
  18. };
  19.  
  20. /* Note - you should never unregister because that can race with NMIs.
  21.    If you really want to do it first unregister - then synchronize_kernel - then free.
  22.   */
  23. int register_die_notifier(struct notifier_block *nb);
  24. extern struct notifier_block *i386die_chain;
  25.  
  26.  
  27. /* Grossly misnamed. */
  28. enum die_val {
  29.     DIE_OOPS = 1,
  30.     DIE_INT3,
  31.     DIE_DEBUG,
  32.     DIE_PANIC,
  33.     DIE_NMI,
  34.     DIE_DIE,
  35.     DIE_NMIWATCHDOG,
  36.     DIE_KERNELDEBUG,
  37.     DIE_TRAP,
  38.     DIE_GPF,
  39.     DIE_CALL,
  40.     DIE_NMI_IPI,
  41.     DIE_PAGE_FAULT,
  42. };
  43.  
  44. static inline int notify_die(enum die_val val,char *str,struct pt_regs *regs,long err,int trap, int sig)
  45. {
  46.     struct die_args args = { .regs=regs, .str=str, .err=err, .trapnr=trap,.signr=sig };
  47.     return notifier_call_chain(&i386die_chain, val, &args);
  48. }
  49.  
  50. #endif
  51.